草庐IT

c++ - unique_ptr VS auto_ptr

全部标签

c++ - 带有标准容器的 std::shared_ptr

我有一个容器shared_ptrs和我将这些对象交给WindowsAPI,稍后我使用原始ptr获得回调。我要找对shared_ptr事后。这可以用shared_ptr干净地完成吗?(不使用shared_from_this())。非常基本的例子:classCFoo{};typedefstd::shared_ptrCFooPtr;typedefstd::setCFooSet;externCFooSetm_gSet;voidSomeWindowsCallBack(CFoo*pRawPtr){m_gSet.erase(pRawPtr);}我知道这可以用intrusive_ptr来完成很容易,但

c++ - 如何读取 PRS/SKmapDat 文件?

我有these来自LegendofMana的图形文件,我想了解它是如何工作的。sizefilename149968TWR_I100.IMG35500TWR_RA00.IMG148736WAL_TMPL.PRS214574WAL_VLLG.PRS63762WM_D351.PIM1208WM_D352.DAT63446WM_D352.PIM1208WM_D353.DAT问题是弄清楚像素是如何存储的。PRS文件在header中包含字符串SKmapDat。我很确定DAT文件是调色板。这里有没有人以前看过这些类型的文件,因此知道如何阅读它们? 最佳答案

c++ - 多重指数实现

有人知道已实现的多重指数算法吗?我正在寻找给定vectorA的东西,B将使用那里的一些快速算法计算A[i]^B[i]的乘积。谢谢! 最佳答案 以下假定您的数据是float。如果您使用的是多精度整数,请指定您的要求。干净的数值方式当然是先取log。事实上,即使结果是有限的,部分产品也很容易下溢/溢出。惯用的对应C++程序是:#include#include#includedoublef(doublex,doubley){returny*std::log(x);}templatedoublemulti_exponentiation(Ia

c++ - Eclipse CDT + ICC 编译器

是否可以在Windows上的Eclipse(CDT)中使用IntelC++编译器(icc)?怎么办? 最佳答案 对于我在thisforum中可以读到的内容“目前没有这样的整合在Windows环境中为英特尔C++编译器提供”。或者,还有MinGW,这是一款用于开发Microsoft应用程序的免费工具,它可以访问MicrosoftC运行时的功能。参见here如何使用EclipseCDT进行设置。您还可以下载MinGWhere. 关于c++-EclipseCDT+ICC编译器,我们在Stack

c++ - 从具有可变参数数量的函数调用具有可变参数数量的函数

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:C/C++:Passingvariablenumberofargumentsaround假设我有一个函数mySuperDuperPrintFunction,它接受可变数量的参数。此函数调用printf(或具有可变数量参数的任何其他函数。我能否以某种方式传递所有,或仅传递arglist到其他功能?喜欢voidmySuperDuperPrintFunction(char*text,...){/**Dosomecoolstuffwiththearglist.*///Callprintfwithargumentsfr

c++ - Boost 1.48.0 upgrade_to_unique_lock on Linux : Has something changed since 1. 47 还是我做错了什么?

我有一个小cppsource和hsource一些类的文件。它使用sharedmutexesandsharedlocks.它使用boost1.48.0在Windows上编译时没有错误。它还在linux上编译(之前使用boost1.47)。但是现在有这样的代码:boost::shared_mutexmut_;//...boost::upgrade_locklock(mut_);boost::upgrade_to_unique_lockuniqueLock(lock);导致奇怪的错误:====Buildingcf-fs(debug)====Creatingbin/obj/Debug/cf-f

c++ - 对 `kill' 的 undefined reference

我用C为ARM7嵌入式系统开发了一个应用程序。现在我想用C++编译和链接它,以便使用一些C++功能。为此,我使用mipsel-elf-g++而不是mipsel-elf-gcc。我可以使用mipsel-elf-g++成功编译我的代码,但在链接步骤中出现错误:/opt/mipsel/lib/gcc/mipsel-elf/3.4.6/../../../../mipsel-elf/lib/libc.a(lib_a-abort.o):Infunction```abort':/cygdrive/d/Files/cross/mips/newlib-1.15.0/newlib/libc/stdlib/

java - Java C/C++项目编译IDE

我加入了一个项目,其中正在处理的应用程序涉及带有一些JNI的Java、C和C++代码。到目前为止,开发是在Linux中从终端用一个困惑的递归makefile结构完成的。最近,我一直在将这段代码导入IDE(Eclipse)并且想知道一些事情。最好是在Eclipse中有一个项目包含Java代码,另一个单独的项目用于C/C++代码或一个Eclipse项目中的所有内容?为什么或者为什么不?作为实现您建议的任何选项的最佳方式,您会推荐什么? 最佳答案 我在Eclipse中有一个项目,主要使用C/C++代码和其他脚本语言——lua、python

c++ - 我如何在 FreeBSD 上禁用 ASLR?

我目前正在上计算机安全类(class),并想尝试将一些类(class)示例漏洞移植到我的FreeBSD机器上。对于linux,我可以通过使用来禁用ASLR"echo0>/proc/sys/kernel/randomize_va_space".Compilingwith"-fno-stack-protector-zexecstack"gcc上的flags禁用NX和canaries,我认为这对于FreeBSD也是一样的。FreeBSD是否有类似的功能来禁用ASLR?感谢您的宝贵时间。 最佳答案 FreeBSD上没有地址空间随机化功能。

c++ - 海湾合作委员会 : Specifying static/dynamic libraries to build against

我有一个简单的C++项目,其结构如下:-一个基础项目(即:包含main()),以及针对其他所有内容的链接--一些自定义库,它们都是作为静态库构建的(即:.a文件)---其中一个静态库使用共享目标文件(即:.so文件)中的功能因此,例如,在所有初始编译完成后,项目在链接时将如何显示(在TreeView中):-myApp(themainapplication)--libaudio.a(theaudiolibraryImade)--libnetwork.a(thenetworkinglibraryImade)--libvideo.a(thevideolibraryImade)--libboo